package com.xing.binbackend.pattern.factory12.opensource.beanfactory;

/**
 * Spring 的 BeanFactory 是工厂模式的经典实现，
 * 其核心思想是通过统一接口获取对象，隐藏具体实现类的创建过程。
 * 三、工厂模式实现流程
 * 步骤1：注册产品定义
     * // 注册Bean定义（XML配置示例）
     * <bean id="paymentService" class="com.example.WechatPaymentService"/>
 * 步骤2：工厂创建对象（源码核心逻辑）
 * // AbstractBeanFactory.java
 * public Object getBean(String name) throws BeansException {
 *     return doGetBean(name, null, null, false);
 * }
 * protected <T> T doGetBean(...) {
 *     // 1. 检查单例缓存
 *     Object sharedInstance = getSingleton(beanName);
 *     // 2. 创建新实例（核心创建逻辑）
 *     if (mbd.isSingleton()) {
 *         sharedInstance = getSingleton(beanName, () -> {
 *             return createBean(beanName, mbd, args); // 触发实例化
 *         });
 *         bean = getObjectForBeanInstance(sharedInstance, name, beanName, mbd);
 *     }
 *     // 3. 返回实例
 *     return (T) bean;
 * }
 */
public class Client {
}
